package com.ruoyi.common.utils.poi;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * zhang对象 product_zhang
 * 
 * @author Alexis
 * @date 2024-02-26
 */
@ExcelIgnoreUnannotated
public class ProductZhang extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品id */
    private Integer id;


    /** 名称 */
    @Excel(name = "名称")
    @ExcelProperty(value = "名称")
    private String name;

    /** 编号 */
    @Excel(name = "编号")
    @ExcelProperty(value = "编号")
    private Long noNumber;

    /** 规格 */
    @Excel(name = "规格")
    @ExcelProperty(value = "规格")
    private String specification;

    /** 地址（厂家） */
    @Excel(name = "地址", readConverterExp = "厂家")
    @ExcelProperty(value ="地址")
    private String addres;

    /** 单位 */
    @Excel(name = "单位")
    @ExcelProperty(value = "单位")
    private String unit;

    /** 数量 */
    @Excel(name = "数量")
    @ExcelProperty(value = "单位")
    private BigDecimal number;

    /** 单价 */
    @Excel(name = "单价")
    @ExcelProperty(value = "单位")
    private BigDecimal price;

    /** 客户 */
    @Excel(name = "客户")
    @ExcelProperty(value = "单位")
    private String customer;

    /** 出库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ExcelProperty(value = "最近出库日期")
    private Date outDate;

    /** 入库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ExcelProperty(value = "入库日期")
    private Date inDate;

    /** 总价 */
    @Excel(name = "总价")
    @ExcelProperty(value = "总价")
    private BigDecimal allPrice;


    private Integer deleteSoft;



    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId()
    {
        return id;
    }

    public void setDeleteSoft(Integer id)
    {
        this.deleteSoft = id;
    }

    public Integer getDeleteSoft()
    {
        return deleteSoft;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setNoNumber(Long noNumber) 
    {
        this.noNumber = noNumber;
    }

    public Long getNoNumber() 
    {
        return noNumber;
    }
    public void setSpecification(String specification) 
    {
        this.specification = specification;
    }

    public String getSpecification() 
    {
        return specification;
    }
    public void setAddres(String addres) 
    {
        this.addres = addres;
    }

    public String getAddres() 
    {
        return addres;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setNumber(BigDecimal number) 
    {
        this.number = number;
    }

    public BigDecimal getNumber() 
    {
        return number;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setCustomer(String customer) 
    {
        this.customer = customer;
    }

    public String getCustomer() 
    {
        return customer;
    }
    public void setOutDate(Date outDate) 
    {
        this.outDate = outDate;
    }

    public Date getOutDate() 
    {
        return outDate;
    }
    public void setInDate(Date inDate) 
    {
        this.inDate = inDate;
    }

    public Date getInDate() 
    {
        return inDate;
    }
    public void setAllPrice(BigDecimal allPrice) 
    {
        this.allPrice = allPrice;
    }

    public BigDecimal getAllPrice() 
    {
        return allPrice;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("noNumber", getNoNumber())
            .append("specification", getSpecification())
            .append("addres", getAddres())
            .append("unit", getUnit())
            .append("number", getNumber())
            .append("price", getPrice())
            .append("customer", getCustomer())
            .append("outDate", getOutDate())
            .append("inDate", getInDate())
            .append("allPrice", getAllPrice())
            .append("remark", getRemark())
            .toString();
    }
}
